#ifndef TREENODE_H
#define TREENODE_H

template <class NODETYPE> class Tree;
template <class NODETYPE>
class TreeNode{
	friend class Tree<NODETYPE>;
	public:
		TreeNode(const NODETYPE &value) : leftPtr(0),data(value),rightPtr(0)
		{
		}
		NODETYPE getData() const
		{
			return data;
		}
	private:
		TreeNode<NODETYPE> *leftPtr;
		NODETYPE data; 
		TreeNode<NODETYPE> *rightPtr;		
}; 
#endif 
